1. Field of the Invention
This invention generally relates to digital data processing systems with a local data storage facility and one or more geographically remote data storage facilities that mirror the local data storage facility and more particularly to a method and apparatus for transferring data from the local to the remote data storage facility.
2. Description of Related Art
Computer implemented data base management systems are exemplary of systems that operate with what can become two antithetical considerations, namely: (1) maintaining the integrity of the data on the system and (2) maintaining maximum availability of the data on the system for maintenance, as by writing data to the system. In some prior art approaches backup operations preserve data integrity by copying the data to tape or other bulk storage media periodically; i.e., a xe2x80x9ctape backupxe2x80x9d operation. However, data maintenance operations for maintaining the data base were mutually exclusive with respect to tape backup operations. That is, no data maintenance or update operations could occur while the tape backup operation was in progress.
More recently disk redundancy has evolved as an alternative or complement to tape backup operations. Generally speaking, in a redundant system two storage devices, such as disk storage devices, store data in a form that enables the data to be recovered if one storage device becomes disabled. In a basic approach, a first disk storage device stores the data and a second disk storage device, at the same location, stores a mirror image of that data. Whenever a transfer is made to the first disk storage device, the data transfers to the second disk storage device essentially simultaneously. Typically separate controllers and paths interconnect the two disk storage devices to the remainder of the computer system.
More recently the concept of redundancy has come to include remote data facilities. A computer system with a remote data facility will include a first data processing system with disk storage facility at a local site and one or more duplicate data processing systems at one or more physically or geographically remote locations that operate with other data storage facilities as remote mirrors of the data in the local system. The geographical separation can be measured in any range between meters and hundreds or even thousands of kilometers.
Prior art systems using geographical remote data storage facilities for mirroring data storage facilities at a local site, such as a Symmetrix remote data facility manufactured by the assignee of the present invention, maintains synchronism between the data stored at the local site in a local volume with the data located in the mirror on a target volume. In one operating mode each writing operation from a host, that may contain a single writing command or a sequence of writing commands depending upon the nature of the system, transfer data to the data storage facility at the local site and to the remote site. In one variation no additional data writing operations can occur until this acknowledgment is received. In another, operations other than writing operations may occur; a successive writing operation to that volume will be held in suspension pending acknowledgement of a prior writing operation. With this approach, the local and remote storage facilities will be in complete synchronism or at most, to within one writing operation of synchronism on a volume-by-volume basis. This provides maximum protection because under any scenario only minimal data loss is possible should some catastrophic failure occur at one or the other sites or in any communications link therebetween.
In many applications writing operations are evenly distributed in time and constitute less than a major proportion of the operations. The delays encountered in transferring data from the local to the remote site and awaiting the return of an acknowledgement do not affect the overall operation of the system. However, there are two basic types of operations in which these methods do not provide completely satisfactory results. One involves bursts of writing operations; the other block transfers to the remote data facility. Writing bursts can occur particularly during data transfers resulting from a data reorganization or during the execution of some batch programs. In such situations writing operations can constitute a significant portion of the total number of transactions between the data processing system and the local data storage facility.
Block transfers can occur during an original installation of a remote data facility and other tasks. There are some prior art alternatives for making block transfers to the remote data storage facility. The first is to make a tape backup of the data at the local site for transport to the remote site. The alternative is to copy the entire disk directly to the remote site over the interconnecting communications link. Either approach requires termination of any normal operations at the local site. Another alternative is merely to allow the standard normal writing operations to eventually synchronize the remote site. This is not advantageous because completion of any such transfer requires a writing operation to each and every position on the local disk whether or not it needs to be changed in order to affect a complete copying and synchronization.
As will be apparent each of the foregoing conditions can be unacceptable when the data base stored at the local site must be available on a continuous basis. Bursts of writing operations can introduce significant delays and affect the response of a data processing system connected to the local data storage facility. The transfer of large blocks of data can have the adverse affect of shutting down the system for an intolerable interval. If the blocks are made smaller to minimize any delay interval, the time required to transfer the data and synchronize the system becomes longer and may also become unacceptable.
Therefore, it is an object of this invention to provide a method and apparatus for transferring data from one data storage facility to a mirroring data storage facility at a geographically remote location.
Another object of this invention is to provide a method and apparatus for transferring data from a data storage facility at a local site to a data storage facility at a geographically remote location during sequences of repetitive writing operations.
Still another object of this invention is to provide a method and apparatus for transferring data from a data storage facility at a local site to a storage facility at a geographically remote site when the remote site is being added to the data processing system.
Still yet another object of this invention is to provide a method and apparatus for transferring of data from a data storage facility at a local site to a data storage facility at a geographical remote location that can operate with controls that enable the systems to operate out of synchronism.
In accordance with one aspect of this invention, a data processing network includes a first data storage facility, a geographically remote second data storage facility and a communications link that enable transfers therebetween. Each data storage facility includes a data store, typically one or more disk storage devices, and a buffer memory for temporarily storing data whereby data transfers from the buffer memory to the data store. The first data storage facility includes a host connection that provides a path to a host data processor. During a writing operation the host data processor effects a transfer of data to the buffer memory. The first and second data storage facilities receive that data in accordance with a normal operating mode. In accordance with this invention that normal operating mode can be disabled thereby enabling the operation of an alternate operating mode wherein data transfers from the host processor connection transfer to the buffer memory in the first data storage facility and from the buffer memory to the data store therein. The system then transfers an acknowledgement signal indicating the successful transfer of the data to the host processor. The transfer from the first to the second data storage facility then occurs asynchronously and independently of the operation of the first data storage facility and the host processor.